#include "friendlistlib.h"
#include <QDebug>
FriendListLib* FriendListLib::lib=nullptr;

FriendListLib *FriendListLib::getInstance()
{
    if(lib==nullptr)
    {
        lib=new FriendListLib;
    }
    return lib;
}

QList<QPair<QPair<QString,QString>,QString>> FriendListLib::getList()
{
    return friendlist;
}

QList<QString> FriendListLib::getOCList()
{
    return QList<QString>();
    //return OCList;
}

QString FriendListLib::getUserName()
{
    return username;
}

void FriendListLib::setUserName(QString name)
{
    username=name;
}

void FriendListLib::setUserOC(QString oc)
{
    useroc=oc;
}

QString FriendListLib::getUserOC()
{
    return useroc;
}

bool FriendListLib::isEmpty()
{
    return friendlist.isEmpty();
}

void FriendListLib::updateUser(QString oc, QString name)
{
    useroc=oc;
    username=name;
    emit s_userUpdate(useroc,username);
}

void FriendListLib::clearFriendList()
{
    friendlist.clear();
    useroc=QString();
    username=QString();
}

void FriendListLib::removeFriend(const QString &friendoc)
{
    for(auto i=friendlist.begin();i<friendlist.end();i++)
    {
        if(i->first.first==friendoc)
            friendlist.erase(i);
    }
}

void FriendListLib::setLastestTmp(const QString& oc,const QString &lastest)
{
    this->lastesttmp=lastest;
    emit s_lastestDone(oc,lastesttmp);
}

QString FriendListLib::getLastestTmp()
{
    return lastesttmp;
}

void FriendListLib::recvFriendList(const QList<QPair<QPair<QString,QString>,QString>>& result)
{
    clearFriendList();
    friendlist=result;
    /*for(QPair<QPair<QString,QString>,QString> i:friendlist)
    {
        OCList.append(i.first.first);
    }*/
    useroc=friendlist[0].first.first;
    username=friendlist[0].first.second;
    friendlist.removeFirst();
    emit s_loadFriendDone();
}

FriendListLib::FriendListLib()
{

}
